package com.yumi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yumi.entity.Announcement;

import java.util.List;

public interface EmployeeAnnouncementsService extends IService<Announcement> {
    
    /**
     * 分页查询公告
     * @param page 页码
     * @param pageSize 每页大小
     * @param title 标题关键字
     * @param type 公告类型
     * @param active 是否有效
     * @return 分页结果
     */
    Page<Announcement> pageQuery(int page, int pageSize, String title, Integer type, Boolean active);
    
    /**
     * 根据ID查询公告详情
     * @param id 公告ID
     * @return 公告详情
     */
    Announcement getAnnouncementById(Long id);
    
    /**
     * 更新公告信息
     * @param announcement 公告信息
     */
    void updateAnnouncement(Announcement announcement);
    
    /**
     * 删除公告
     * @param id 公告ID
     */
    void deleteAnnouncement(Long id);
    
    /**
     * 置顶公告
     * @param id 公告ID
     */
    void topAnnouncement(Long id);
    
    /**
     * 取消置顶公告
     * @param id 公告ID
     */
    void untopAnnouncement(Long id);
    
    /**
     * 获取有效公告列表
     * @return 有效公告列表
     */
    List<Announcement> getActiveAnnouncements();
}
